Methods and apparatus for detecting remote control errors in controlled devices

ABSTRACT

Apparatus, systems and methods are described that facilitate the detection of errors within a remote control for a controlled device. A remote control detects an error condition during operation and transmits information regarding the error to a controlled device. The information regarding the error may be analyzed to determine the source of the problem in the remote control and/or possible solutions.

RELATED APPLICATIONS

This application claims the benefit of U.S. application Ser. No.12/117,657, entitled “SYSTEMS, METHODS AND APPARATUS FOR DETECTINGREMOTE CONTROL ERRORS”, filed on May 8, 2008, which is herebyincorporated by reference in its entirety.

BACKGROUND

Universal remote controls and other advanced remote controls aredesigned for communicating with a variety of devices, includingtelevisions, satellite and cable receivers, digital video recorders(DVRs), digital video disk (DVD) players, stereo systems and the like.To facilitate communication with these various devices, the remotecontrols may store various settings, including the address of theremote, databases of key codes for each of the controlled devices,learned remote codes and various user settings. The various settings aretypically stored in non-volatile memory (NVM) within the remote control,and are loaded into random access memory (RAM) and utilized by aprocessor during operation of the remote control. Occasionally, problemsmay arise while reading or writing data from the RAM and/or the NVM dueto electrostatic discharge (ESD), component failures, software bugs andthe like. Thus, the remote control may become unable to remotely operatethe controlled devices.

Remote communication problems are frustrating for users because they areoften unable to detect the source of the problem. To remedy the problem,the user may call a customer service representative (CSR) who thenattempts to identify the source of the problem based on informationprovided by a user. However, the customer service representative (CSR)may not have adequate information to determine the source of theproblem, and thus may be unable to correctly remedy the problem for theuser.

BRIEF DESCRIPTION OF THE DRAWINGS

The same number represents the same element or same type of element inall drawings.

FIG. 1 illustrates an embodiment of an entertainment system.

FIG. 2 illustrates an embodiment of a communication system.

FIG. 3 illustrates an embodiment of a remote control of FIG. 2.

FIG. 4 illustrates an embodiment of an entertainment device of FIG. 2.

FIG. 5 illustrates an embodiment of a satellite broadcast system.

FIG. 6 illustrates an embodiment of a cable television distributionsystem.

FIG. 7 illustrates an embodiment of a process for detecting errorswithin a remote control.

DETAILED DESCRIPTION

The various embodiments described herein generally provide apparatus,systems and methods which facilitate the detection of errors within aremote control. More particularly, a remote control detects an errorcondition during operation and transmits information regarding the errorto a controlled device, such as a satellite receiver or cable televisionreceiver set-top box. The information regarding the error may beanalyzed to determine the source of the problem in the remote controland/or possible solutions.

The controlled device may include any type of device or system thatincludes a wireless remote controller, including entertainment devices,presentation devices, household appliances (e.g., washing machines,fans, humidifiers, vacuums, stoves and ovens), vehicles, heatingsystems, lighting systems, cameras, recording devices and the like.While the controlled device is described herein as an entertainmentdevice that presents content to a user, it is to be appreciated that theteachings may be applied to detecting remote control errors for a remotecontrol of any type of device.

In at least one embodiment, a controlled device receives informationregarding an error of a remote control in the form of a key code for thecontrolled device. Based upon the received key code, the controlleddevice may identify that an error occurred within the remote control andtake appropriate action. In at least one embodiment, the controlleddevice may perform processing of the key code to determine the source ofthe error and provide an indication of the error to the user. Thecontrolled device may store the key code for subsequent processingand/or transmission to external devices. In at least one embodiment, thecontrolled device transmits the key code or other information regardingthe error to a remote application server over a communicatively coupledcommunication network. The application server may utilize the errorinformation for performing analysis regarding the problem within theremote control. For example, there may be multiple error key codes, eachcorresponding with a different possible remote control error. Thus, thecontrolled device, the application server and/or a customer servicerepresentative may identify the error based on the key code and providefeedback to the user regarding the source of the error and/or a remedyfor the problem.

FIG. 1 illustrates an embodiment of an entertainment system 100. Theentertainment system 100 presents content to a user 106. Theentertainment system 100 includes an entertainment device 102 and aremote control 104. Each of these components is discussed in greaterdetail below. The entertainment system 100 may include other devices,components or elements not illustrated for the sake of brevity.

The entertainment device 102 is configured to receive content from oneor more internal or external content source(s) (not shown in FIG. 1),and to present the received content to the user 106 and/or output thecontent for presentation by a presentation device. The content to beoutputted and/or presented by the entertainment device 102 may come inany of various forms including, but not limited to, audio, video, data,information, or otherwise. In at least one embodiment, the contentpresented to the user 106 includes an audio/video stream (A/V), such asa television program, movie or other recorded content and the like.While the entertainment device 102 will be described below in thecontext of presenting A/V content, it is to be appreciated that theteachings described herein may be applied to presenting any type ofcontent.

In at least one embodiment, the entertainment device 102 is apresentation device operable to present content to the user 106. Forexample, the entertainment device 102 may be a display device configuredto display content to the user 106 or an audio device configured tooutput audio content to the user 106. In other embodiments, theentertainment device 102 may be an output device that processes andprovides one or more audio and/or video streams to a display device(e.g., a television) for presentation to the user 106. Exemplary outputdevices include set-top boxes (e.g., a satellite or cable televisionreceiver/converter boxes), DVRs, DVD players, media servers or othersimilar devices. It is to be appreciated that the entertainment device102 may also be embodied as an apparatus combining the functionality ofa presentation device and an output device, such as a television with anintegrated set-top box, DVR or the like.

The remote control 104 may comprise any system or apparatus configuredto remotely operate the entertainment device 102. In at least oneembodiment, the remote control 104 may manipulate playback of content bythe entertainment device 102. The entertainment device 102 and theremote control 104 may communicate using any type of communicationmedium and any type of communication protocol. For example, the remotecontrol 104 may wirelessly communicate with the entertainment device 102over a radio frequency (RF) or infrared (IR) communication link.

In at least one embodiment, the remote control 104 receives user inputfrom the user 106 requesting to remotely control the entertainmentdevice 102. For example, the user input may request to manipulateplayback of content outputted for presentation by the entertainmentdevice 102. The user 106 may provide the user input by pressing one ormore buttons of the remote control 104. In at least one embodiment, theremote control 104 identifies the pressed button and generates a keycode corresponding with the pressed button. The generated key code istransmitted by the remote control 104 to the entertainment device 102.The entertainment device 102 receives the key code and performsappropriate processing functions based on the key code (e.g., changingits operation or manipulating playback of content).

During operation, errors may occur within the remote control 104. Forexample, software operating on the remote control 104 may encounterproblems, there may be errors reading data from memory, or data frommemory may become corrupted. In at least one embodiment, an error isdetected while reading remote control settings from the non-volatilememory (NVM) of the remote control 104.

The remote control 104 may perform various functions responsive todetecting an error. In at least one embodiment, the remote control 104may responsively transmit information regarding the error to theentertainment device 102. For example, the entertainment device 102 maytransmit a key code to the entertainment device 102, the key codeindicating the particular type of error that occurred within the remotecontrol 104. In at least one embodiment, the entertainment device 102performs processing of the key code to identify the source of the errorand to provide a notification regarding the error to the user 106. Inother embodiments, the information regarding the error may be stored bythe entertainment device 102 for subsequent utilization, as described infurther detail below.

In at least one embodiment, the remote control 104 stores informationregarding the error for subsequent utilization and/or debugging. Forexample, the remote control 104 may increment a counter each time anerror occurs or may generate an error log entry that includesinformation regarding the runtime conditions at the time the erroroccurred. Thus, the counter stores a number of instances in which theerror occurred on the remote control 104. In at least one embodiment,the stored information regarding the error may be subsequently retrievedfrom the remote control 104 by the entertainment device 102. Forexample, the remote control 104 may include bi-directional communicationfunctionality and the entertainment device 102 may be operable to querythe remote control 104 for the stored error information responsive to arequest.

When the user 106 encounters a problem that they are unable to identifyand/or solve, then they are likely to contact customer support in orderto remedy the problem. Thus, it may be desirable to transmit errorinformation regarding the remote control 104 to devices external to theentertainment system 100. FIG. 2 illustrates an embodiment of acommunication system 200. The communication system includes anentertainment device 102A, a remote control 104, a communication network202 and an application server 204. Each of these components is discussedin greater detail below. The description of components common to FIG. 1is omitted herein for the sake of brevity and the communication system200 may include other components, devices or elements not illustratedfor the sake of brevity.

The entertainment device 102A is similar to the entertainment device 102of FIG. 1, and is further communicatively coupled to an applicationserver 204 through a communication network 202. More specifically, theentertainment device 102A is operable for transmitting to theapplication server 204 information regarding the error

In at least one embodiment, information regarding the error occurringwithin the remote control 104 is stored on the entertainment device102A, and the entertainment device 102A transmits the error informationto the application server 204 responsive to the query. If theinformation regarding the error is not stored on the entertainmentdevice 102A, then the entertainment device 102A may query the remotecontrol 104 for the error information. Responsive to receivinginformation from the remote control 104, the entertainment device 102Atransmits the information received from the remote control 104 to theapplication server 204 for utilization by the customer servicerepresentative (CSR). The customer service representative (CSR) and/orthe application server 204 then identify the source of the problem usingthe error information and recommend solutions to remedy the problemwithin the remote control.

FIG. 3 illustrates an embodiment of a remote control 104A of FIG. 1.FIG. 3 will be discussed in reference to the communication system 200illustrated in FIG. 2. The remote control 104A includes an input device302, a processor 304, a wireless transmitter 306 and a non-volatilememory (NVM) 308. Each of these components will be discussed in greaterdetail below. The remote control 104A may include other components ordevices not illustrated for the sake of brevity.

The input device 302 is operable for receiving user input 310 from theuser 106 (see FIG. 2). In at least one embodiment, the input device 302is a keypad including a set of buttons. A user may utilize the keypad toinput channel numbers, control the volume of the entertainment device102 (see FIG. 2), navigate menus, manipulate playback of content by theentertainment device 102 and/or control other functions of theentertainment device 102.

The non-volatile memory (NVM) 308 is operable for storing settings ofthe remote control 104A. Exemplary settings include the address of theremote control 104, databases of key codes for each device controlled bythe remote control (e.g., the entertainment device 102) and learnedremote codes. In at least one embodiment, the non-volatile memory (NVM)308 may store a counter, error logs and/or other information regardingany type of error occurring within the remote control 104A. Thenon-volatile memory (NVM) 308 may include any type of memory operablefor storing information even when not powered, such as flash memory ormagnetic storage devices. occurring within the remote control 104. Theapplication server 204 processes the error information to determine thesource of the error and/or recommend solutions to the problem.

The application server 204 may be any device or system that receives theerror information from the entertainment device 102A through thecommunication network 202. In at least one embodiment, the applicationserver 204 utilizes the error information received from theentertainment device 102A to identify and/or diagnosis a problem in aparticular remote control 104. For example, the user 106 may experiencea problem with the remote control 104, and the application server 204may utilize the error information to correct the problem. In someembodiments, the error information received by the application server204 may be utilized to perform diagnostics information regarding anentire line of products. For example, the application server 204 mayidentify that a high number of data corruption problems are occurringwithin a particular model remote control, and may recommend solutions toremedy the data corruption problem.

In at least one embodiment, the application server 204 may receive theerror information from the entertainment device 102A periodicallyaccording to a defined, schedule. For example, the application server204 may receive error information (if any) from the entertainment device102A once a week. In other embodiments, the application server 204 mayreceive the error information from the entertainment device 102Aresponsive to the error occurring within the remote control 104. Inother words, after the entertainment device 102A receives informationregarding the error from the remote control 104, then the entertainmentdevice 102A may transmit the error information to the application server204 for analysis.

In at least one embodiment, the application server 204 receives theerror information from the entertainment device 102A responsive to aquery. For example, the application server 204 may be integrated withina call processing system of a content provider. The user 106 calls thecall processing system responsive to experiencing a problem with theremote control 104. A customer service representative (CSR) initiates aquery to the entertainment device 102A, through the application server204, requesting information regarding any errors that occurred withinthe remote control 104.

The processor 304 is operable for controlling the operation of theremote control 104A. More particularly, the processor 304 is operablefor generating commands (e.g., key codes) that are compatible with theentertainment device 102 (see FIG. 2). The processor 304 receives theuser input 310 from the input device 302 and translates the user input310 into a first key code 312. The first key code 312 may then betransmitted to the entertainment device 102 for further processing.

Various errors may occur during operation of the remote control 104A.For example, the processor 304 may encounter an error during generationof the first key code 312. Typically errors encountered by the processorinclude corruption of data stored within the non-volatile memory (NVM)308 and/or errors reading from RAM communicatively coupled to theprocessor 304. Corruption of data within the non-volatile memory (NVM)308 may be caused by among other things, electrostatic discharge (ESD),component failures and software bugs. If data in RAM is corrupted, thenthe data may be reloaded into RAM from the non-volatile memory (NVM)308. If data is corrupted in both RAM and the non-volatile memory (NVM)308, then the remote control 104A may need to revert to defaultsettings, which may adversely affect the functionality of the remotecontrol 104A for the user.

Data stored in the RAM and the non-volatile memory (NVM) 308 isprotected by some form of error detection field. Examples may includechecksums, parity fields, and cyclic redundancy checks. When data iswritten into RAM or the non-volatile memory (NVM) 308, the associatederror detection field is calculated and also written into the RAM ornon-volatile memory (NVM) 308. When reading data from RAM or NVM, theerror detection fields are used to determine if the data within thedevice is correct or if it has been corrupted.

In at least one embodiment, responsive to detecting an error, theprocessor 304 generates a second key code 314. The second key code 314indicates to the entertainment device 102 that an error occurred withinthe remote control 104A. In at least one embodiment, there are multiplekey codes defined for different types of errors. For example, one keycode may indicate a RAM data corruption and a second key code mayindicate a non-volatile memory (NVM) data corruption. It is to beappreciated that any number of key codes may be utilized to identifyerrors based on desired design criteria.

The wireless transmitter 306 is operable for wirelessly communicatingwith the entertainment device 102 (see FIG. 2). More particularly, thewireless transmitter 306 is operable for transmitting the first key code312 and the second key code 314 to the entertainment device 102 (seeFIG. 2). The wireless transmitter 306 may utilize any type of wirelessprotocol and wireless communication medium, including RF or IR keycodes.

In at least one embodiment, the wireless transmitter 306 is embodied ina wireless transceiver that provides bi-directional communicationcapability between the entertainment device 102 and the remote control104A. For example, the wireless transmitter 306 may receive a query fromthe entertainment device 102 for information regarding any errors thathave occurred within the remote control 104A. The processor 304 may thengenerate the second key code 314 responsive to the query, and thewireless transmitter 306 then transmits the second key code 314 to theentertainment device 102 to satisfy the query.

It is to be appreciated that the various functional elements 302 through308 shown as operable within the remote control 104A may be combinedinto fewer discrete elements or may be broken up into a larger number ofdiscrete functional elements as a matter of design choice. Thus, theparticular functional decomposition suggested by FIG. 3 is intendedmerely as exemplary of one possible functional decomposition of elementswithin the remote control 104A.

FIG. 4 illustrates an embodiment of an entertainment device 102B ofFIG. 1. More particularly, FIG. 4 illustrates an entertainment device102B embodied as a television receiver (e.g., a set-top box). However,it is to be appreciated that the entertainment device 102 may compriseany type of device that presents any type of presentation content. FIG.4 will be discussed in reference to the communication system 200illustrated in FIG. 1-2. The entertainment device 102B includes an inputmodule 402, a wireless module 404, a processor 406 and a networkinterface module 408. Each of these components will be discussed ingreater detail below. The entertainment device 102B may include othercomponents or devices not illustrated for the sake of brevity.

The input module 402 is operable for receiving presentation content,e.g., video content 410. The input module 402 may be operable forreceiving and tuning any type of video content 410. For example, theinput module 402 may receive an over-the-air broadcast signal, a directbroadcast satellite signal or a cable television signal. In at least oneembodiment, the input module 402 may receive or retrieve content from astorage medium, such as an optical disk, internal or external harddrives, portable storage devices (e.g., universal serial bus (USB)memory sticks) and the like. The input module 402 may also receivecontent from external servers, such as video servers, that arecommunicatively coupled to the entertainment device 102B over theinternet or other types of data networks.

The wireless module 404 is operable to wirelessly receive and/ortransmit data to the remote control 104 (see FIG. 2). The wirelessmodule 404 may communicate with the remote control 104 utilizing anytype of IR or RF communication link. In at least one embodiment, thewireless module 404 receives the first key code 312 and/or the secondkey code 314 from the remote control 104, and responsively provides thefirst key code 312 and/or the second key code 314 to the processor 406.

The processor 406 is operable for controlling the operation of theentertainment device 102B. In at least one embodiment, the processor 406receives the video content 410 and responsively generates an outputstream 412 for presentation on a display device. The processor 406 isfurther operable to receive the first key code 314 and manipulate theplayback of the video content 410 responsive to the first key code 314.In other words, the processor 406 operates responsive to the first keycode 314 to control the output stream 412.

The processor 406 is further operable to receive the second key code 314and identify that an error occurred within the remote control 104 (seeFIG. 2). In at least one embodiment, the processor 406 identifies theerror occurring within the remote control 104 based on the second keycode 314, and provides an indication of the error in the output stream412. For example, the output stream 412 may display a message to theuser 106 (see FIG. 2) regarding the error. In some embodiments, theprocessor 406 may provide the second key code 314, or informationgenerated based therefrom, to an application server 204 (see FIG. 2).

A network interface module 408 of the entertainment device 102Acommunicatively couples to the application server 204 through thecommunication network 202. The network interface module 408 and theapplication server 204 may communicate over any type of network topologyand/or communication link. For example, the application server 204 mayquery the entertainment device 102B for the second key code 314. In atleast one embodiment, if the second key code 314 is not available to theprocessor 406, then the wireless module 404 may transmit a query to theremote control 104 requesting the second key code 314. After theentertainment device 102B receives the second key code 314, the networkinterface module 408 transmits the second key code 314 to theapplication server 204 to satisfy the query.

Those of ordinary skill in the art will appreciate that the variousfunctional elements 402 through 408 shown as operable within the remotecontrol 104B may be combined into fewer discrete elements or may bebroken up into a larger number of discrete functional elements as amatter of design choice. Thus, the particular functional decompositionsuggested by FIG. 4 is intended merely as exemplary of one possiblefunctional decomposition of elements within the remote control 104B.

The remote control 104 and the entertainment device 102 may be utilizedin various types of content delivery systems that utilize televisionreceivers, including satellite television broadcast systems, cabletelevision broadcast systems and internet television broadcast and/ordelivery systems. FIG. 5 illustrates an embodiment of a satellitebroadcast system 500. The satellite broadcast system 500 includes aremote control 104, a transmission network 502, an uplink system 504, asatellite 506, a satellite antenna 508, a television receiver 510, adisplay device 512, a communication network 514, a call processingsystem 516 and a content source 518. Each of these components will bediscussed in greater detail below. Discussion of components common toFIGS. 1-4 is omitted for the sake of brevity, and FIG. 5 may includeother components not illustrated for the sake of brevity.

Satellite broadcast system 500 includes a content source 518 in signalcommunication with an uplink system 504 of a transmission network 502.The content source 518 provides the uplink system 504 with televisionprograms that are transmitted to a television receiver 510. Televisionprograms may be broadcast by the transmission network 502 to thetelevision receiver 510. A television program may be embodied as MPEG-2,MPEG-4 or other digital video signals, analog or baseband signals,and/or other video data on a channel of the satellite broadcast system500.

Satellite broadcast system 500 further comprises a satellite 506 insignal communication with the uplink system 504. The satellite 506broadcasts television programs received from the uplink system 504. Thesatellite broadcast system 500 further comprises a satellite antenna 508for receiving the television program broadcast from the satellite 506.The satellite antenna 508 is in signal communication with the televisionreceiver 510, and provides the television receiver 510 with thetelevision program. The broadcast television program content is receivedby the television receiver 510 and outputted for presentation on thedisplay device 512.

The user 106 utilizes the remote control 104 to provide user inputrequesting manipulation of playback of the television program by thetelevision receiver 510. In at least one embodiment, the remote control104 encounters an error during processing of the user input, andtransmits a key code to the television receiver 510 indicating a statusof the error.

The user 106 notices the error, and places a call to the call processingsystem 516 to discuss the error with a customer service representative(CSR). The customer service representative (CSR) initiates a query tothe television receiver 510 through the communication network 514 forinformation regarding errors encountered by the remote control 104. Thecommunication network 514 may comprise any type of wired or wirelessnetwork that communicatively couples the call processing system 516 andthe television receiver 510. For example, the call processing system 516may communicate with the television receiver 510 over a broadbandnetwork or through a telephone modem of the television receiver 510. Inat least one embodiment, the communication network 514 is integratedwith the transmission network 502. In other words, the televisionreceiver 510 communicates with the call processing system 516 throughmessages transmitted over the transmission network 502.

The television receiver 510 receives the query and transmits informationregarding the error back to the call processing system 516. In at leastone embodiment, the television receiver 510 transmits the key codereceived from the remote control to the call processing system 516. Thecall processing system 516 then analyzes the key code to diagnosis asource of the error in the remote control 104. A customer servicerepresentative (CSR) of the call processing system 516 may then utilizethe source of the error to recommend a solution to the user 106.

The transmission network 502 (see FIG. 2) may alternatively be embodiedas a cable television distribution system. FIG. 6 illustrates anembodiment of a cable television distribution system 600. The cabletelevision distribution system 600 includes a remote control 104, atelevision receiver 510, a display device 512, a call processing system516, a content source 518, a transmission network 602, a head-end 604, alocal distribution network 606 and a drop 608. Each of these componentswill be discussed in greater detail below. Discussion of componentscommon to FIGS. 1-4 is omitted for the sake of brevity, and FIG. 6 mayinclude other components not illustrated for the sake of brevity.

Cable television distribution system 600 comprises a head-end 604 insignal communication with the content source 518. The content source 518provides the head-end 604 with television programs that are transmittedto the television receiver 510. Television programs may be broadcast bythe transmission network 602, or may be pushed to the televisionreceiver 510 responsive to a request by the user 106 (e.g.,on-demand-viewing).

Cable television distribution system 600 further comprises a localdistribution network 606 in signal communication with the head-end 604.The local distribution network 606 is operable for receiving contentfrom the head-end 604 and distributing the content to individualtelevision receivers 510. The television receiver 510 is in signalcommunication with the local distribution network 606 using a drop 608from a feeder line of the local distribution network 606. The localdistribution network 606 may provide content as a broadcast to thetelevision receiver 510, or may provide content to a specificaddressable television receiver 510 using a broadband connection.Responsive to receiving the content, the television receiver 510 outputsthe content for presentation by the display device 512.

As described in FIG. 4, the user 106 encounters a problem while remotelycontrolling the television receiver 510, and calls the call processingsystem 516. The call processing system 516 queries the televisionreceiver 510 for information regarding the error occurring within theremote control 104. In at least one embodiment, the call processingsystem 516 and the television receiver 510 are communicatively coupledthrough the transmission network 602. However, it is to be appreciatedthat a separate communication network may be utilized to communicatedata between the call processing system 516 and the television receiver510.

In at least one embodiment, the television receiver 510 receives thequery from the call processing system 516, and further queries theremote control 104 for information regarding any errors encountered bythe remote control. For example, the remote control 104 may maintain acounter indicating the number of times that NVM data corruption and RAMdata corruption problems have been encountered during operation. Theremote control 104 transmits the counter information to the televisionreceiver 510, and the television receiver 510 further transmits thecounter information to the call processing system 516. The callprocessing system 516 then presents the counter information (or otherinformation derived therefrom) to an operator to identify the source ofthe problem. For example, the operator may see that there have been 5NVM failures during the life of the remote control 104, and may identifythat the NVM in the remote control 104 has failed. Thus, the operatormay recommend that the user 106 replace the remote control 104 or mayinitiate delivery of a new remote control to the user 106. Thus, throughthe operation of the cable television distribution system 600, anoperator of a call processing system 516 may query a remote control 104for information regarding errors encountered during operation of theremote control 140, diagnosis the source of the errors and recommendsolutions to a user 106.

FIG. 7 illustrates an embodiment of a process for detecting errorswithin a remote control. The process of FIG. 7 will be discussed inreference to a remote control for an entertainment device. However, itis to be appreciated that the process of FIG. 7 may be applied todetecting errors within remote controls for any type of device. Theprocess of FIG. 7 may include other operations not illustrated for thesake of brevity.

The process includes receiving user input, at a remote control,requesting to remotely control an entertainment device (operation 702).For example, the user input may request to change the channel of asatellite television receiver or perform fast-forwarding, pausing orreversing functions within recorded content. In at least one embodiment,a key code or other command is transmitted to the entertainment deviceresponsive to the user input.

The process further includes detecting an error within the remotecontrol responsive to receiving the user input (operation 704). Asdescribed above, errors may be encountered during loading of data fromnon-volatile memory (NVM) or while reading and/or writing data to RAM.In at least one embodiment, errors may also be encountered when aprocessor is reset responsive to action by a watchdog timer. It is to beappreciated that operation 704 may detect any type of error depending ondesired design criteria.

The process further includes transmitting information regarding theerror from the remote control to the entertainment device (operation706). In at least one embodiment, the information may be transmitted tothe entertainment device as a key code for the entertainment device. Inat least one embodiment, the key code may be transmitted to theentertainment device immediately after detection of the error or shortlythereafter.

In other embodiments, the key code may be transmitted to theentertainment device at a later time. For example, the remote controlmay encounter an error when out of wireless range of the entertainmentdevice. Thus, the remote control may transmit the key code at a latertime when the remote control comes within wireless range of theentertainment device. In at least one embodiment, the entertainmentdevice transmits an acknowledgement to the entertainment deviceregarding reception of the error key code. Thus, if the remote controldoes not receive the acknowledgment, then the remote control may attemptto transmit the key code to the entertainment device again at a latertime. As described above, the remote control may also transmit key codesregarding error conditions to an entertainment device responsive to aquery from the entertainment device.

The information received by the entertainment device may be utilized ina variety of manners. As described above, data may be transmitted fromthe entertainment device to an application server or other remotelyoperated device or system for further utilization. In some embodiments,the entertainment device may include diagnostic functionality thatutilizes the error information to detect and/or correct problemsoccurring within the remote control. For example, a user may activatethe diagnostic functionality of the entertainment device, and theentertainment device may display a diagnostic screen on an associateddisplay device that allows the user to perform various diagnosticoperations using the error information or display information regardingthe operation of the remote control. It is to be appreciated that theuser may activate these functions at any time, including while the useris communicating with a customer service representative (e.g., calling acustomer support line). For example, the customer service representativemay walk the user through the diagnostic information presented by theentertainment device to obtain the error information of the remotecontrol. The customer service representative may then use thisinformation to identify the remote control problem and recommendpossible solutions.

Although specific embodiments were described herein, the scope of theinvention is not limited to those specific embodiments. The scope of theinvention is defined by the following claims and any equivalentstherein.

1. A method for detecting errors within a remote control for acontrolled device, the method comprising: receiving user input, at aremote control, the user input requesting to remotely control thecontrolled device; detecting an error within the remote controlresponsive to receiving the user input; and transmitting informationregarding a type of the error from the remote control to the controlleddevice.
 2. The method of claim 1, further comprising: storing theinformation regarding the error on the controlled device.
 3. The methodof claim 1, further comprising: outputting from the controlled device anindication of the error.
 4. The method of claim 1, further comprising:transmitting the information regarding the error to an applicationserver.
 5. The method of claim 1, further comprising: receiving, at thecontrolled device, a query, from an application server, the queryrequesting the information regarding the error; and transmitting thequery from the controlled device to the remote control.
 6. The method ofclaim 1, further comprising: Receiving, at the remote control, from thecontrolled device, an acknowledgement message relating to theinformation regarding the type of the error.
 7. The method of claim 1,wherein the error occurs while loading data from a non-volatile memory(NVM) of the remote control.
 8. A remote control comprising: an inputdevice that receives user input requesting to remotely control acontrolled device; a processor communicatively coupled to the inputdevice that generates a first message for the controlled device based onthe user input, that identifies an error occurring during generation ofthe first message and that generates a second message based on theerror, the second message identifying a type of the error; and awireless transmitter communicatively coupled to the processor thattransmits the second message to the controlled device.
 9. The remotecontrol of claim 8, wherein the second message comprises a key code. 10.The remote control of claim 8, further comprising: a storage medium;wherein the processor updates a counter based on the error and storesthe counter on the storage medium.
 11. The remote control of claim 10,wherein the processor receives a query from the controlled device, thequery requesting transmission of the counter from the remote control tothe controlled device.
 12. The remote control of claim 9, furthercomprising: a non-volatile memory (NVM) that stores settings of theremote control; wherein the processor identifies the error duringretrieval of the settings from the non-volatile memory (NVM).
 13. Theremote control of claim 9, wherein the processor identifies the errorduring retrieval of data from a volatile memory of the remote control.14. A controlled device comprising: a wireless module that wirelesslycommunicates with a remote control to receive first and second messages,the first message including a command for the controlled device and thesecond message indicating a type of an error occurring within the remotecontrol; and a processor communicatively coupled to the input module andcommunicatively coupled to the wireless module that control itsoperation based on the first message and that transmits informationassociated with the second message to an application server, wherein theapplication server utilizes the second message to diagnosis the erroroccurring within the remote control.
 15. The controlled device of claim14, wherein the processor outputs an indication of the error forpresentation by a presentation device.
 16. The controlled device ofclaim 14, wherein the processor transmits the second message to theapplication server responsive to a query from the application server.17. The controlled device of claim 14, wherein the processor queries theremote control for the second message.
 18. A call processing system thatreceives a call from a user of a controlled device regarding an errorthat occurred in a remote control associated with the controlled device,the controlled device having received a message from the remote controlregarding a type of the error, the call processing system transmitting aquery to the controlled device requesting information regarding the typeof the error and that processes the information regarding the type ofthe error received from the controlled device to diagnosis a source ofthe error in the remote control, wherein an operator of the callprocessing system utilizes the source of the error to recommend asolution to the user.
 19. The call processing system of claim 18,wherein the query further requests a number of times that the error hasoccurred within the remote control.
 20. The call processing system ofclaim 18, wherein the error occurs while loading data from anon-volatile memory (NVM) of the remote control.